Simone Inzaghi's side are just one point behind leaders Juventus, who fell to a shock 2-1 defeat at Hellas Verona on Saturday, after extending their unbeaten run to 18 league games.
Their last Serie A defeat was on September 25 against Inter Milan, who they host next weekend at the Stadio Olimpico.
Inter are third, three points behind Juventus, before they take on city rivals AC Milan later on Sunday.
Record-equalling Lazio miss chance to go second with Verona stalemate
A win for Antonio Conte's side in the derby would put them level on 54 points with Juventus but ahead on goal difference, with just one point between the top three teams.
Caicedo broke through just before the interval as the Ecuadorian volleyed home after Parma failed to clear a ball into the box.
Last season's runners-up Napoli's struggles continued as they collapsed to a 3-2 defeat at home to Lecce.
Gennaro Gattuso's side had rekindled hopes of European football next season after league wins over Juventus and Sampdoria, and by eliminating Lazio from the Italian Cup.
"The biggest concern is the fragility of the team today," said Gattuso.
"We're living in fear. We didn't hurt them in the first half an hour when we had five or six shots on goal. We were too passive.
"I saw a team who struggled to help themselves.
"We had a great opportunity to climb the table. For me today we were not a team."
Gianluca Lapadula netted a double, opening the scoring after half an hour, with Marco Mancoscu sealing victory with a superb free-kick eight minutes from time.
Arkadiusz Milik had levelled for Napoli just after the break with Jose Callejon reducing the deficit late on.
AC Milan counting on Ibrahimovic boost in Italian Cup
The hosts were furious at being denied a penalty for a challenge on Milik, with the Pole booked for diving.
"I don't understand why they don't go to VAR when it's a debatable one," said Gattuso. "It would have taken a minute to see if Milik had been fouled."
Napoli are 11th, four points off the Europa League berths, with Lecce earning a valuable three points as they sit above the relegation zone.
Elsewhere, Mario Balotelli's Brescia earned a point with a 1-1 draw at home against Udinese in new coach Diego Lopez's first game in charge of the basement club.
Jeremie Boga scored late to grab a 2-1 win for Sassuolo at SPAL.
COMMENTS
Comments are moderated and generally will be posted if they are on-topic and not abusive.
For more information, please see our Comments FAQ