Все у вас верно, но нужно поглядеть, какие именно файлы не кэшируются, и добавить их расширения в filesmatch.
Не помню, показывает ли Pagespeed список таких файлов, но тот же
GTMetrix точно их покажет.
Edit: а добавьте mod_headers, как-то так:
<ifModule mod_headers.c>
<FilesMatch "\.(html|htm)$">
Header set Cache-Control "max-age=43200"
</FilesMatch>
<FilesMatch "\.(js|css|txt)$">
Header set Cache-Control "max-age=604800"
</FilesMatch>
<FilesMatch "\.(flv|swf|ico|gif|jpg|jpeg|png)$">
Header set Cache-Control "max-age=2592000"
</FilesMatch>
<FilesMatch "\.(pl|php|cgi|spl|scgi|fcgi)$">
Header unset Cache-Control
</FilesMatch>
</IfModule>