Hello Hylan,
There are a few possibilities.
First, make sure both iTunes and the iPhone are up-to-date.
Make sure the "Sync Address Book Contacts" box is actually checked in the Info tab for the iPhone.
You can try resetting the Sync history on the Mac:
http://support.apple.com/kb/TS1627
It could be an issue with the Contact database on the iPhone.
If your contacts data on the Mac is current (no contacts on the iPhone that are not in Address Book). you can replace the Contact data on the iPhone with a fresh copy from the Mac.
At the bottom of the Info tab for your iPhone, you'll find a checkbox for Contacts under Advanced -- this will replace the contact data on the iPhone when you sync. It is a one time checkbox and will be unchecked automatically after the sync.
Charles H.