Things suddenly broke, without installing web-server-related stuff, without touching apache config?
It’s probably permissions.
No really, you checked out permissions, and it looks ok. Really, “Sites” (or “public_html”) looks ok. However, the entire path needs to be fixed.
Check if each directory in full path to the file you want to serve contains at least executable permission for the web group, or “other” group. That is, on Mac this helped me:
chmod o+x /Users
chmod o+x /Users/ivucica
chmod 755 /Users/ivucica/Sites
What went wrong for me? I suspect Mac OS X 10.6’s disk check, or perhaps one other disk utility I recently used, messed up the executable permission flag of /Users/ivucica. I have no other explanation.
This tip would probably help under GNU/Linux too.