Create the VPN between the 2 locations (either lan-to-lan via the 2 routers, our a client VPN from the remote PC to the main office).
If the printer is phy connected to the remote PC, install it on the remote PC and share it out from the remote PC as well (near the end of the printer install).
Setup the head office with the ability to print to the remote printer by installing it as \remotecomputer\sharedprinter.
At that point on a lan-2-lan VPN you can always print from head office to the remote printer THROUGH the remote computer (which must be on). On a VPN where the remote computer VPNs into the head office, remote printing would only work after the VPN is established by the remote computer.
If the printer is IP based, then you'll either need to go lan-2-lan VPN and connect to the printer via its IP, or you can still go the above route and share it out on the remote computer as well if the remote computer will be the VPN client back to the head office.
Final alternative if all you are after is printing to the remote office (which seems unlikely since the remote office should have a need to get to the dc and file server) would be to setup port forwarding on the remote office router to the printer and limit the source IP to WAN IP of the head office. Then setup a local TCP/IP printer on a computer at the head office using the WAN IP of the remote office router as the printer's "IP".
Hope that helps.