Is there a specific reason or did one of them do it and the others copied?
For Finland: The blue coloring is said to represent the country's thousands of lakes and the sky, with white for the snow that covers the land in winter.
Sweden: King Eric IX saw a golden cross in the sky as he landed in Finland during the First Swedish Crusade in 1157. Seeing this as a sign from God he adopted the golden cross against a blue background as his banner.
Norway: The red and blue colours also explicitly referred to the same two countries, former and present union partners. The blue represented the Swedish dynasty.
Denmark: I'm unable to find out why red is used, but the white cross was decided to highlight Christianity and easily visible in red.
Now why the flags are similar? Out of respect of their neighbors. Between constant battles and eventual unions they all adopted colors from each other. The cross denotes their conversion to Christianity.