Popular content distribution is one of the key services provided by vehicular ad hoc networks (VANETs), in which a popular file is broadcasted by roadside units (RSUs) to the on-board units (OBUs) driving through a particular area. Due to fast speed and deep fading, some file packets might be lost during the vehicle-to-roadside broadcasting stage. In this paper, we propose a peer-to-peer (P2P) approach to allow the OBUs to exchange data and complement the missing packets. Specifically, we introduce a coalitional graph game to model the cooperation among OBUs and propose a coalition formation algorithm to implement the P2P approach. Moreover, cognitive radio is utilized for vehicle-to-vehicle transmissions so that the P2P approach does not require additional bandwidth. Simulation results show that the proposed approach performs better in various conditions, relative to the non-cooperative approach, in which the OBUs share no information and simply response to any data request from other OBUs.