La respuesta de Nanne dado explica por qué no obtiene el resultado deseado (su cláusula WHERE elimina filas), pero no cómo solucionarlo.
La solución es cambiar WHERE a AND para que la condición sea parte de la condición de combinación, no un filtro aplicado después de la combinación:
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
Ahora todas las filas de la tabla de la izquierda estarán presentes en el resultado.