Setting an Expires: header is even easier with PHP, if you know which source file to edit...
Code:
header('Expires: ' . gmdate('D, d M Y H:i:s', time() + 86400) . ' GMT');
The example above will expire, after 86,400 seconds (24 hours), whatever file gets downloaded through the script. Adjust the interval according to your needs, and place it right before the line that sends the file -- which is usually readfile() or sometimes fpassthru().
As for me, after having used lighttpd and nginx, I don't think I'll ever go back to bloated Apache.