It would be fairly easy to create a workspace that uses the FME Server REST API to look for failed jobs and send an email. You could e.g. schedule the workspace through an automation.
As @david_r suggested, the REST API would be a great way to monitor for job failures. A scheduled automation or job could be configured to send a customized summary of failed jobs and any relevant information. You could also set up a dashboard. Although it's not exactly what you're looking for, the "Workspace Status per User" example in this tutorial may be a good reference: https://community.safe.com/s/article/Monitoring-FME-Server-Job-Activity-using-the-REST-API
As another option, you might be interested in the System Events Trigger: https://docs.safe.com/fme/html/FME_Server_Documentation/ReferenceManual/Monitoring_FME_Server_Activity_Using_Notifications.htm
General system events, like "Error Message Logged" or "Warning Message Logged", could be filtered to capture job failures. The advantage of this approach is a real-time notification upon a failure.
It's curious to me that a feature like this isn't built in to FME Server/Flow. It's natural for an admin to want to know when things go wrong regardless of whether someone has had the foresight to build that error checking in to automation or workspace X. These leads me to wonder, with such an obvious (to me) feature is not built in, what are people doing instead?