Check out Nate Silver's analysis of Iowa in his 538 blog, in the "Presidential Geography" series
I'm not going to try to regurgitate all that he said, but he did note that one of the main reasons Iowa shifted D is due to agriculture becoming a smaller part of the economy. The number of farms and farmers has shrunk and have been replaced by a lot of tech jobs in the cities.
That, and a lot of the farms in eastern Iowa tend to be smaller than the bigger corporate farms in western Iowa. Eastern Iowa is more populous than Western Iowa.