As duas formas – havia e avia – existem na Língua Portuguesa.
Ou seja, ambas as expressões estão corretas, devendo, no entanto, ser usadas em diferentes situações; são referentes a verbos distintos.
Havia é a primeira e terceira pessoa do singular do pretérito imperfeito do indicativo do verbo haver.
eu [ havia ], ele; ela; você [ havia ]
Ele havia estado com alguns deles.
Resolvi dar uma pausa no treinamento, ela já havia se esforçado bastante.
Obs:
pretérito imperfeito = referente a um fato ocorrido no passado, mas que não foi completamente terminado ou para falar de um hábito ou acontecimento que ocorria no passado com frequência
Avia é a terceira pessoa do singular do presente do indicativo e a segunda pessoa do singular do imperativo do verbo aviar.
ele; ela; você [ avia ], [ avia ] tu
Dirigi-se a uma farmácia e avia a receita.
Traz o queijo e as chouriças que ela avia tudo.
Obs:
presente do indicativo = referente ao presente, que está ocorrendo no momento ou que não depende de um tempo específico
Referências
Havia advém do verbo haver.
Avia advém do verbo aviar.