resposta de Nanne dado explica por que você não obtém o resultado desejado (sua cláusula WHERE remove as linhas), mas não como corrigi-lo.
A solução é mudar WHERE para AND para que a condição faça parte da condição de junção, não um filtro aplicado após a junção:
SELECT day.days, COUNT(*) as opens
FROM day
LEFT OUTER JOIN tracking
ON day.days = DAY(FROM_UNIXTIME(open_date))
AND tracking.open_id = 10
GROUP BY day.days
Agora todas as linhas da tabela à esquerda estarão presentes no resultado.