There is no way to capture email after the sending has failed. The only way to hook into WordPress wp_mail function is to do it before it does anything related to sending. After the sending fails, there is nothing it can be done. But, the wp_mail function can be replaced (WordPress allows that), and changed to do something like this. This is in theory only, I have not tried anything like that. My plugin is the only mail handling plugin for WordPress that doesn’t replace wp_mail, and I have no plans to implement such replacements, it can ultimately lead to issues across different WordPress versions.
If the email was already in queue and sending failed, right now, you have the Retry button in the Log for each failed item, and it also has bulk retry for the log. You do need to run it that way because an automatic queue of failed emails can be a huge issue if the same email fails over and over. If you don’t see this Retry action in the log, you need to enable it through plugin Settings -> Log -> Additional Log Actions.
Yeah, this looks OK. But, it will add new email into the queue, instead of changing the existing one to be retried. I will investigate this for the next update. I will mark this as a feature suggestion.