These words are so constantly used interchangeably by so many people of all degrees of education that it seems useless to attempt differentiating between them. You can say "I imagine that's true" or "I suppose that's true" with equal correctness. If you wish to be precise, use imagine to mean "to form a mental image of something that is not actually available to one's senses": "I imagine that Napoleon was a vain and pompous little man." Use suppose to mean "to assume something without reference to its truth or falsity": "Suppose the cost to be more than we have in hand." "I suppose that you will use imagine and suppose to mean the same thing."
Dictionary of problem words and expressions. Harry Shaw. 1975.