Проверка на существование файла идти в таком случае не должна, поэтому причина в другом.
Здесь 2 варианта нам видится
1) У Вас перед апачем стоит nginx, который и занимается непосредственно раздачей статики (тогда мы не вполне понимаем что делать — вероятно надо к сис.админу/хостеру, но по крайней мере понятно где проблема).
2) У Вас на сервере стоит какой-то обработчик pdf, который перехватывает на себя запросы к pdf (проверяется легко, посредством запроса существующего файла с заведомо неизвестным расширением).