Cron jobs missing their schedules

We are running Cron jobs which are sometimes missed.
Is there a way to get a list of cronjobs that have been missed in last 24 hours?

Also, If a job is scheduled to run once a day at 9 PM and it is missed on day 1 and works on day2. then how can we check the reason for miss for day1 ?