Well I'm not an engineer, but Windows managed to do it... Also maybe one day Apple will use its own chips in its laptops.
Let's clarify. Windows never really managed to do this.
At one point, there was Windows 8, and Windows RT (for ARM devices). Windows RT isn't around any more, and since then, Windows tablets have only been released as x86. Microsoft managed to create the same user interface on two operating systems running on different architectures, deemed it was not feasible after hitting market, and reverted to one architecture.
We don't need a convergence of iOS and OS X for applications. We already share a programming language and some APIs between both, and the onus is on the developer to choose which platform they want to release on. While there are differences in platform specific APIs, especially in how they deal with interaction with the OS and UI, most of the business logic should be easily portable. We already see some developers doing both with the same base- mainly where those free to play games are concerned, but a lot of the better developers already do this: Panic has Coda and Transmit on both iOS and OS X, 1Password has their app on both as well.
Often, it's a matter of return. If there's no niche that's being demanding, or no good way of adapting it to make it work. It wouldn't be odd to see Bohemian Coding port Sketch to iPad Pro, but probably not iPhone. You probably won't see any of the SNS apps reaching iOS in any situation either. It doesn't make sense to make a Facebook app, for example, when the browser on OS X is significantly more powerful (computationally), making a native app unnecessary. Your bank likely has a website and a mobile app, but they're probably not going to make an app for OS X. Desktop browsers are significantly more powerful than mobile web browsers, which makes building a mobile app a good idea to pair with your web interface.