If the Printer in question is a USB Printer installed directly in each OS then...
USB Devices can only be directly controlled by one OS at a time so if you what to use the Printer directly by each OS then you have to continue doing as you have as this would be the expected and normal behavior.
Otherwise do not connect the USB Printer directly to the Virtual Machine and share the printer under OS X and then connect to the shared printer from within the Virtual Machine's OS.