If you want to keep the caching optimization, but address it on a case-by-case basis, a relatively simple method we use to get around this is to update the URL pointing to the updated file, and add a "fake" small query string to the end. This makes the browser see the updated URL as different than its cached version, and it will download the file again.
For instance, if the old link was
When the MyPDF.pdf file is updated, you can change the URL to something like:
The "v=2" query string doesn't do anything but ensure all browsers will pick up the new file regardless of cache status.