Since October 2015, I have been having problems sending and receiving MMS with Google Hangouts on my Nexus 5 (and my wife's Moto X 2013). The only way I could seem to get MMS to work was turning off WiFi and toggling LTE off (or on).
My initial searches when the problem first occurred gave me no leads, so I just suffered through it. However, yesterday I just happened to search again and came across this page https://productforums.google.com/forum/#!topic/nexus/VW_L9kVVy8g. Most of the posts were not helpful for me as they were things that I had already done (double check APN settings) or did not apply (more than one set of APN settings).
One of the suggestions said to make sure the default browser was set. As I only had Chrome installed, I didn't think this would apply to me, but decided to check anyway. You can check the setting here (if you are using Marshmallow):
Settings -> Apps -> Settings gear on top right -> Default Apps
And what do you know, it was unset. I tapped it and set it to Chrome.
Next I went into Google Hangouts (with WiFi on) and was able to both send and receive MMS!
Fixing it on my wife's Moto X 2013 was more difficult since it is still on Lollipop.
First I checked that chrome was not set as the default. You can check here:
Settings -> Apps -> Chrome
When I looked on her phone, it was not set as the default for anything (Clear Defaults button was grayed out).
To fix this what I actually had to do was install another browser (Firefox). I then texted the phone a simple link (http://www.google.com) and clicked on it and it asked me what browser to use. I chose Chrome and use always. I also performed a google now search and when clicking on a link performed the same steps.
Once I confirmed that Hangouts on the Moto X was also able to send and receive MMS with wireless on, I uninstalled Firefox.
Why this works, I may never know, but I am certainly glad to have this issue resolved!