According to this reddit thread that has been referenced at least 40 times on Google, it seems that it is not only based on the KDA of a player, but also heavily dependent on whether he has the Top Hero Damage, Top Siege Damage, and XP Contribution in his team, as well as the match as a whole.
Based on this code in the game's script, the algorithm is as follows:
* add kills
* add assists x [LostVikings=0.75, Abathur=0.8, other=1]
* add (timeSpentDead / gameLength) x 100 x [Murky=-1, Gall=-1, Cho=-0.85, other=-0.5]
* add 1 if player has top hero damage of his team
* add 1 if player has top hero damage of the match
* add 1 if player has top siege damage of his team
* add 1 if player has top siege damage of the match
* add 1 if player has top healing of the match
* add 1 if player has top XP contribution of his team
* add 1 if player has top XP contribution of the match
* add 0.5 if player is Warrior and has top damage received of his team
* add 1 if player is Warrior and has top damage received of the match
.2. Pick player with highest MVP Score.
* If multiple players share highest score, pick the one with higher XP contribution (or random, if equal XP contribution).
Deaths are not factored in the calculation. As Nova is a single-target assassin without a self-healing skill, she almost definitely did lower siege damage and healing overall as compared to Ragnaros.
As shown in the image, Ragnaros has the Best Hero Damage in Team, Best Siege Damage in Game, and Best XP Contribution in Game, giving him a total of (1 + 2 + 2) points advantage over Nova, who only had a 1-point advantage by having 1 more assist. Thus, assuming that they had similar amount of Time Spent Dead given the 1 death difference, it is safe to conclude that Ragnaros is really the MVP of this game.