As duas formas há dias e a dias estão corretas, contudo seus significados são diferentes.

Ou seja, ambas as expressões são válidas, devendo, no entanto, ser usadas em diferentes situações.

Há dias expressa, habitualmente, tempo decorrido (dias, neste caso). É similar a dizer “faz dias” – quando assim acontece a construção é sempre feita com o verbo haver (há, neste caso).

Já não te via há dias.
Estamos neste calor infernal há dias.
Estou há dias tentando desvendar a lógica disto.

Em outro contexto a construção há dias significa simplesmente que existem dias [que algo ocorre, se faz, etc.]

Sabes, há dias que penso a mesma coisa!
Obviamente, há dias que todos precisam fazer horas extras.

E construção a dias aponta para um “tempo futuro (dias)”.

Descansa, daqui a dias recebo mais.
Vais deixar a cidade daqui a dias.
Sabes que estamos a dias de um ataque?