In the present study, we proposed a greedy randomized adaptive search procedure (GRASP) for integrated scheduling of dynamic flexible job shops with a novel preventive maintenance policy. In most of the real-life scheduling practices, unexpected and unknown events occur frequently, which necessitates solving operations and maintenance scheduling problems dynamically. Dynamic events like new order arrival, machine breakdown, changes in due date, order cancellation, and urgent order are considered in this study. Moreover, order acceptance/rejection decisions and an order review release mechanism are also taken into account in order to enhance the overall performance by adjusting capacity regarding to customer due date requirements. Four objectives namely mean tardiness, schedule instability, makespan, and mean flow time are considered within a lexicographic programming logic. Random test instances are generated for the stated dynamic scheduling problem. In order to confirm the applicability of the proposed GRASP-based algorithm, extensive experiments were also conducted on well-known job shop scheduling benchmark instances and flexible job shop scheduling benchmark instances with preventive maintenance activities. Computational experiments conducted under various experimental settings such as flexibility level and due date tightness in addition to different preventive maintenance policies. To the best of our knowledge, the present study presents the first attempt through GRASP for simultaneous dynamic scheduling of operations and preventive maintenance activities in flexible job shops. Results of the extensive computational experiments demonstrate that simultaneous scheduling of manufacturing operations and preventive maintenance activities is a viable and effective approach for performance improvement in dynamic flexible job shop scheduling environments.