Is there any difference between using convolution and correlation for finding edges with Sobel? I know that Sobel is a filter for edge detection and we should use convolution to find edges, but is there any difference if we use correlation instead of convolution? I think Sobel tries to find a pixel which has different values from its surrounding pixels, and the difference between correlation and convolution is just flipping the filter, I think, there should be no difference.
You're correct, convolution is the same as correlation except that 2D Sobel filter kernel is rotated for 180 degrees. 

Generally speaking for spatial filtering using correlation or convolution is a matter of personal/domain preferences/convention.