Se hai verificato che il percorso per arrivare all'immagine sia quello giusto, allora prova ad invertire l'IF.
Non so perché, ma anche a me a dato problemi e scrivendo così ho sempre risolto.Codice PHP:
if (!file_exists($filename)) {
// il file non esiste
} else {
// il file non esiste
}