There are a few reasons your email might not reach it's destination.
Your Internet Service Provider might not like you having your own email server, by blocking all email servers they significantly reduce spam on the internet and email remains a reasonably trustworthy communication medium.
This is most likely done by blocking common email ports (25, 110, 143, 465, 993, 995, 2525).
Email Provider Restrictions
The Email Provider might not like untrustworthy IP addresses as destination for outgoing emails, thus does not allow numeric addresses as destination, only domain names (sometimes they only allow a list of trustworthy email servers).
The Email Server that sends the email might be unable to find the correct route to your server for some reason, this is a bit unlikely if you use your unique, external IP as server address.
You might have misconfigured some things, like port forwarding incorrectly configured or a non-functioning email server.
IP Address Renewal
Your ISP most likely gave you a dynamic IP address, when your lease expires you might be assigned a different IP then you sent the email to, this can be solved by using a dynamic DNS service such as No-IP.com that uses a client to update your dynamic DNS record to your current IP whenever you obtain a new IP.
Power Outages and Similar Events
Of course there can be special circumstances that render your email server inoperable.
But this is highly unlikely.
I'm home-hosting a Raspberry Pi with some services like a VPN, SSH, and HTTP.
But no email since i discovered my ISP blocks port 25.
I'm using noIP for dynamic DNS services, although i don't really need it because my ISP has not changed my IP for over a year.