La réponse de Nanne donné explique pourquoi vous n'obtenez pas le résultat souhaité (votre clause WHERE supprime des lignes), mais pas comment y remédier.
La solution consiste à remplacer WHERE par AND afin que la condition fasse partie de la condition de jointure, et non un filtre appliqué après la jointure :
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
Désormais, toutes les lignes du tableau de gauche seront présentes dans le résultat.