Which Talk Talk router you are using?
AirPrint relies on IP multicasting which require your router to support this kind of protocols (Bonjour, mDNS, Multicasting, IGMP, etc.)..
As the printer do work using the direct ad hoc connection it clearly support AirPrint and it's the router which breaks the connection.
From my experience some Talk Talk routers do not support Multicasting and therefore will not allow to discover an Airprint printer through the local network.