As duas formas há um ano e a um ano 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á um ano expressa tempo decorrido ou passível de decorrer (1 ano, neste caso). É similar a dizer “faz um ano ou existe um ano” conforme o contexto – quando assim acontece a construção é sempre feita com o verbo haver (há, neste caso).

Já não te via há um ano.
Tenho esta doença há um ano e dois meses.
Como você sabe que há um ano para completar o projeto?

E construção a um ano é válida em alguns contextos; estamos perante uma situação que não corresponde a tempo decorrido mas sim para um “tempo futuro (1 ano)” ou para uma “unidade de tempo de um ano”.

A investigação durará de seis meses a um ano.
Está a um ano de acabar o secundário.
Fui condenado a um ano e meio de trabalho forçado.