If your task didn’t happen then it didn’t go through? ??
Sorry, couldn’t resist. There’s not any way to tell what didn’t happen. You can look at access logs to see if something fired by a POST to wp-cron.php, but that will not tell you what it was for.
You can see what actions are scheduled to fire in the future by temporarily placing code on a template somewhere that gets the “cron” option and var_dumps it for examination. You’ll see an array keyed by timestamps of when the action is to fire next, followed by the action tag, a hash, and other information. For recurring events, you may be able to work backwards to determine what POST in the logs corresponds to what event stored here. Subtracting intervals from timestamps will not yield precise results because of the variance in events triggered by visitation.
When any particular action fires, if it is for a recurring event, WP will then schedule the next event in the same process. It sounds like your server Cron managed to bypass the WP process because the WP one was never set up properly. The setup isn’t all that intuitive. Compare what you have to the second example in the schedule event doc’s notes. Notice how a plugin needs to be activated in order for the example event to be scheduled. Events need to be scheduled by code that only executes once. Most normal WP code runs on every request.
If you’re willing to share your setup code here, we can see if any issues are apparent. We don’t really need to see the actual code that is supposed to execute in order to evaluate the setup, but if the problem is in the execution and not the setup, we would not be able to evaluate that unless it’s included.