To make a normal map you certainly need to use a greyscale hieghtmap.. there is no other way (any program that skips this step just converts a color image into a greyscale map and turns that into a normal map; the results wont be so good usually).
I just use photoshop to make a heightmap, or I render a normal map from a mesh..