As duas formas há séculos e a séculos estão corretas, contudo seus significados são diferentes.
Ou seja, ambas as construções são válidas, devendo, no entanto, ser usadas em diferentes situações.
Há séculos expressa tempo decorrido ou passível de decorrer (séculos, neste caso). É similar a dizer “faz séculos ou existem séculos” conforme o contexto – quando assim acontece a construção é sempre feita com o verbo haver (há, neste caso).
Ando a planear isto há séculos.
Fui um pugilista, mas parece que foi há séculos.
Os Hindus usam-nos há séculos para ganhar entrada no mundo dos espíritos.
E construção a séculos é válida em alguns contextos; estamos perante uma situação que não corresponde a tempo decorrido (ou passado). Aponta, habitualmente, para um “tempo futuro (séculos)” ou para uma “unidade de tempo de séculos”.
Isso pode ser daqui a séculos.
Nem daqui a séculos posso ter esta casa.
Como unidade de tempo:
Treze nomes ligados a séculos de tradições!
Obs: notar que dizer “séculos” é habitualmente associado a muito tempo, ou seja, não correspondendo exatamente a múltiplos de 100 anos