Dear Marcus,
Thank you very much for your response. Herewith I have attached my transmitter side and receiver side flow graphs for more details. At the receiver I first used the standard PSK_Demod block as shown in 8psk_demod1.png, figure attached below. Then I have decomposed the block and used the lower level blocks separately as shown in 8psk_demod2.png. In both scenarios the outcome was similar.
As you have mentioned it could be a problem with the Costas loop. I had a similar synchronization problem when I used the constellation points for QPSK as [1,j,-1,-j]. But when I set the constellation points to [0.707+0.707j,-0.707+0.707j, -0.707-0.707j,0.707-0.707j] the problem was resolved and the QPSK started to work fine. However I cannot use this strategy for 8PSK as we need 8 constellations. I would like to know whether there are better synchronization blocks in GNURadio than Costas loop that can work for higher order modulations? I really appreciate if you could help me.