The Next Generation had a super-duper-fix-it engineer already, Geordi La Forge, who was a whizz with the engines and systems of the Enterprise. Miles O'Brien was certainly capable, but the kinds of things he fixed on Deep Space Nine are not the sorts of things that are likely to fail on a starship - i.e., the engines and related systems.
Further, he was chief of the second most important thing on the Enterprise (after the engines), the transporter units. That's something I don't want to fail, after all, given what happens if it does fail - people die.
Finally, don't forget that he was an enlisted crewman, not a commissioned officer like most of the major named crew in the various Star Trek shows. Scotty, Geordi, etc. are all commissioned officers; Miles is a Chief Petty Officer (a high ranking enlisted crewman). As such, his responsibilities would be much more well defined than a high ranking officer like a Lieutenant Commander or similar.
Further in that track, he was a career Starfleet crewman - joined at 17 - and had no formal education, not even a Starfleet Academy education. He learned what he knows by doing, and I'm sure by various technician's schools and such, but not by having a degree in engineering or anything like that. That's something that makes him excellent for the DS9 role, but wouldn't allow him quite the same latitude on the Enterprise.
Edit: The rank question is more of an "open question" - see memory alpha on Chief O'Brien's rank - but I think I will stand by the Chief Petty Officer designation here; out of universe, my guess would be that they may have intentionally moved him to be a CPO in order to have someone like him - an enlisted crewmember who can do the dirty work - given 'Trek tends towards fairly senior officers as all of their major characters. But that's out of universe and getting into serious speculation.