I have seen both spellings of re-engineering used (with and without hyphen). Personally I prefer the hyphenated version as it aids with proper pronunciation of the word.
Dictionary.com seems to prefer reengineering
But then on the other side spell checking software seems to only find the hyphenated version correct.

Which version is correct or are both correct? Is one preferred over the other and why?