Recently, I had this exact problem, intermitent misfire on my Punto.
I noticed the conditions whilst problem occurred, as the check engine light was blinking. So, it was on high speed, 130-140 Km/h (on highway) and only during deceleretion. If I would revv up again, the check engine light would go off. If I was still decelerating, it would be blinking. Other thing is that the engine did have misfire above 100-110 km/h. It had power but it wouldn't run smoothly, there was definitely some knocking.
Put the tester on and had these 2 errors stored:
P0302 - Cylinder 2 Misfire - ECU has received vey high signal from the sensor
P0300 - Misfires detected (Random/Multiple Cylinder Misfire Detected) - ECU has received vey low signal from the sensor
So I though maybe there's something wrong with the sensor. That's the knock sensor.
At that time, being Sunday, I replaced the MAP sensor as I had a new one bought some time before and on the car I had the original one. Today I also replaced the engine's air filter, the one fitted being really dusted. I also disconnected the knock sensor to check it's details (mark, number) and cleaned its contact surface and put it back. I did put an order for a new knock sensor and I will replace it. Today I went for a test drive and it seems that the problem is no longer present. Did not get to 140 Km/h (being on a different class road), but I did get to like 120 Km/h and the engine run way smoother. Did the deceleration and no check engine light came on.
So, in conclusion, the problem could have been caused by air filter or air sensor (MAP), but I tend to belive that the knock sensor had more to do with it. And it got better due to cleaning the sensor. As mentioned above, I will put the new sensor on (probably tomorrow) and I underline that is very important, if you change the knock sensor, to give a good clean to the surface it sits, on the engine block. It's important that all traces of oil and dust to be removed.