Yes, it can only be directly connected to one machine at a time. Ensure that you've actually installed the printer on the virtual guest while having the printer connected to the virtual machine by installing its drivers within the virtual guest and having it be detected as you would on any physical machine. For example, if you have Windows XP running in the virtual guest and your printer is an HP CM2320nf, you would download and install Windows XP Drivers for the HP CM2320nf within the virtual guest and it would then work properly.
Just having it be USB detected does allow the virtual guest to see the printer but if the guest operating system doesn't have a built-in driver for the printer, it will not print as you need to add it in.