As duas formas são corretas.Meio-dia é um nome com o sentido de 12 horas:O programa começa entre as onze horas e o meio-dia.Meio dia é uma expressão composta pelo adjetivo meio e o nome dia que significa a metade de um dia:Hoje trabalhei meio dia.