All that should be required is to select the appropriate options in System Preferences > Sharing, and to select "Wake for network access" in Energy Saver. Depending on whether the Mac is a desktop or portable, that selection might appear as "Wake for Ethernet network access" or "Wake for Wi-Fi network access". Apple changed the particular terminology from previous OS X releases. In my opinion that distinction presents an unnecessary complication, since the user ought not to be concerned with exactly how a Mac connects to a network. It should wake regardless of the particular network service it happens to be using. I made that suggestion to Apple, for what it's worth. There is only one choice though so whatever "wake" terminology appears for you, select it.
Though they use completely different services for doing so, Apple applies the same "Back To My Mac" terminology to waking a Mac from a device on the same LAN vs. waking it from the Internet, even using the phrase "Back to My Mac Network" whatever that's supposed to mean. BTMM on the same LAN uses local Bonjour for discovery whereas waking a Mac from outside your LAN uses a completely separate service that requires selecting the "Back to My Mac" option in System Preferences > iCloud. I suppose that keeps things simple, but it doesn't really do us any favors when attempting to diagnose problems when it doesn't work.
It is very likely that you might be able to wake Macs only over an Ethernet connection, while Wi-Fi might not work. The converse is equally likely, so try it both ways. Any router incorporating NAT-PMP is supposed to be adequate, but I can find no reason to expect remotely waking a sleeping Mac is possible unless the router also incorporates the Bonjour Sleep Proxy:
Set up and use Back to My Mac - Apple Support
Get help using Back to My Mac - Apple Support
The latter document describes the ports that need to be opened in your router, if it's not an Apple router. Ultimately, the only way to eliminate any uncertainty is to use an Apple AirPort Base Station as your router. I know that will work. The AppleTV also incorporates the Bonjour Sleep Proxy, so it can also wake other Macs on the same LAN.