You're relying on the browser's internal Date constructor to create the date from the string, and therefore on its internal Date parsing function. And while Chrome is able to figure out your non-standard date string, Firefox can't.
You can avoid the ambiguity by using a D3 date format object to do the date parsing:
var dateFormatIn = d3.time.format.utc('%Y-%m-%d %H:%M:%S UTC');
service2Data["values"].forEach(function(hash) {
hash["x"] = dateFormatIn.parse(hash["x"]);
});
By the way, instead of using a for loop to go through your data arrays and parse the dates, you can just set an x-accessor function on your chart object:
var chart = nv.models.lineChart()
.x(function(d){return dateFormatIn.parse(d.x);})