By adding:
RewriteRule ^([^.]+)/$ $1.html [QSA]
right before:
RewriteRule ^([^.]+)$ $1.html [QSA]
in the .htaccess file, it will eliminate the ending slash which means it will serve the cached page, if applicable. Basically, since the dollar sign signifies the end of the pattern, a slash character before it could only be a trailing slash and adding that rule means that Apache will ignore the slash if it exists.
As noted in Agile Web Development with Rails, this is a problem saying "Use :trailing_slash with caution if you use page or action caching. . . The extra slash reportedly confuses the caching algorithm."