Can we have an application controlled by another application both working in the same apk ?
One APK is one application. It doesn't make sense to talk about two applications in the same APK: they're the same application. But one application doesn't have to be one entry in the launcher, or one activity. App developers can put as many launcher entries in an application as they like, creating the appearance of multiple apps which are actually just different parts of the same package. Because they're in one package, they share the same private data and the same process, so they can control each other and work together however the app developer likes.
One example is Google Maps. Although it doesn't any more, it used to contain a second launcher entry, 'Navigation', which would launch Maps in the driving navigation mode. It was a second entry point into the same app, and both front-ends used the same data (saved places, route preferences, &c.).