Ambas as frases estão corretas, embora possam ter significados distintos.
A preposição em utiliza-se para traduzir o valor de localização temporal com complementos que incluem informação temporal relacionada com dias da semana, estações ou períodos festivos1.
Neste contexto, a frase apresentada em (1) é equivalente a (2):
(1) «Num dia, encontrei o João.»
(2) «Encontrei o João neste intervalo de tempo.»
Já o determinante artigo indefinido um, quando associado a um nome, forma um sintagma indefinido, que é usado para «referir uma entidade particular do universo do discurso (ou um grupo particular de entidades), indicando, no entanto, ao ouvinte que a identificação dessa entidade ou grupo não é importante no contexto discursivo – em certos casos (mas não em todos), porque assume que o ouvinte, de qualquer modo, não tem informação suficiente para fazer essa identificação»2. Neste âmbito, podemos considerar que as frases (3) e (4) são equivalentes:
(3) «Um dia encontrei o João.»
(4) «A dada altura cuja referência explícita não interessa, encontrei o João.»
Todavia, refira-se que, no contexto de localização temporal, ocorrem situações de omissão da preposição em. Esta situação é mais frequente na oralidade, modalidade que tendencialmente busca a simplificação, mas também pode ocorrer na escrita, como se esclarece nesta resposta. Neste quadro, as frases apresentadas podem ser consideradas sinónimas. Não obstante, em âmbito formal, o uso da preposição é aconselhável.
Disponha sempre!
1. Cf. Raposo et. al, Gramática do Português. pp. 1547-1548.
2. Idem, Ibid., p. 840.