Disclaimer: This is from the view of a job that isn't strictly programming (we don't necessarily ship software)
At the company I work for, most Product Managers are Engineers. They may not always do the low level work but they definitely know what is going on and can do select portions of it themselves. The job of the Project Manager is to interface with the customer (or customers), other teams, if there are any, and act as a liaison between the lower-level and upper-management, and to direct the team in the overall goal. What they exactly do, I'm not sure. I'm not a Product Manager.
It varies from company to company, however.