I have permesso di soggiorno based on the visa in my old passport. Now I left Italy and changed my passport and my permesso is still valid. Now I wonder whether when I get back to Italy with new passport (without visa) and permesso based on the old passport will I have any problems. I went also to the Italian embassy they told me since I have active permesso they can't give me new visa. Could someone please answer?
You can travel to Italy with your current valid passport and your permesso di soggiorno. You do not need your old passport or the old visa.
Your permesso di soggiorno is not "based on" a visa; it replaces the visa. With a valid permesso di soggiorno, you do not need any visa.
See, for example, the Schengen Borders Code Article 5(1)(b):
- For stays not exceeding three months per six-month period, the entry conditions for third-country nationals shall be the following:
(b) they are in possession of a valid visa, if required pursuant to Council Regulation (EC) No 539/2001 of 15 March 2001 listing the third countries whose nationals must be in possession of visas when crossing the external borders and those whose nationals are exempt from that requirement, except where they hold a valid residence permit;
Similarly, the permit itself allows you to remain in Italy as long as it is valid, and by implication to enter Italy at any time.