Faits: A. Par jugement du 2 mars 2007, le Tribunal correctionnel de l'arrondissement de l'Est vaudois a notamment condamné X._ pour vol, vol en bande, tentative de vol en bande, brigandage, tentative de contrainte, contrainte sexuelle, dommages à la propriété, violation de domicile, recel, violence ou menace contre les autorités et les fonctionnaires, vol d'usage d'un bateau, infraction et contravention à la LStup à une peine privative de liberté de trois ans. B. Le recours de X._ contre ce jugement a été partiellement admis par la Cour de cassation pénale du Tribunal cantonal vaudois le 22 octobre 2007. Cette autorité a libéré X._ du chef d'accusation de violation de domicile dans trois cas concernant des bateaux. Elle a par ailleurs admis que s'agissant de l'infraction à l'art. 285 CP, savoir violence ou menace contre les autorités et les fonctionnaires, seule la tentative pouvait être retenue. Partant, elle a fixé la durée de la peine privative de liberté à trente-quatre mois. C. X._ forme un recours en matière pénale contre ce dernier arrêt. Il conclut à sa réforme en ce sens qu'il est libéré de la prévention de contrainte sexuelle, subsidiairement condamné pour contravention contre l'intégrité sexuelle au sens de l'art. 198 CP, que la peine privative de liberté est fixée à deux ans au plus assortie du sursis, subsidiairement à moins de trois ans assortie du sursis partiel. Il sollicite également l'assistance judiciaire et demande que l'effet suspensif dont bénéficie son recours ne soit pas supprimé. D. Invité à se déterminer sur le recours, le Ministère public a renoncé à déposer une réponse. Pour sa part, la cour cantonale a déclaré n'avoir pas d'observations à formuler. Tous deux se sont référés aux considérants de l'arrêt attaqué.