phranque - 11:15 pm on Nov 12, 2012 (gmt 0)
the first is "better" because using mod_expire handles both the Cache-Control and Expires headers for you.
a Cache-Control header with the max-age directive overrides an Expires header but you need the Expires header for those HTTP/1.0 caches which don't implement Cache-Control.
you might want to study the example provided by jdmorgan here.
Configuring Expires and Cache-Control response headers: